First - Class Structures for Standard ML ( Extended Summary )
نویسنده
چکیده
Standard ML is a statically typed programming language that is suited for the construction of both small and large programs. \Programming in the small" is captured by Standard ML's Core language. \Programming in the large" is captured by Standard ML's Modules language that provides constructs for organising related Core language deenitions into self-contained modules with descriptive interfaces. While the Core is used to express details of algorithms and data structures, Modules is used to express the overall architecture of a software system. The Modules and Core languages are strat-iied in the sense that modules may not be manipulated as ordinary values of the Core. This is a limitation, since it means that the architecture of a program cannot be reconngured according to run-time demands. We propose a novel extension of the language that allows modules to be manipulated as rst-class values of the Core language. The extension greatly extends the expressive power of the language, and has been shown to be compatible with both Core type inference and a separate extension to higher-order modules. Pages: This page + 1 blank page + 21 pages (appendix included). Abstract. Standard ML is a statically typed programming language that is suited for the construction of both small and large programs. \Programming in the small" is captured by Standard ML's Core language. \Programming in the large" is captured by Standard ML's Modules language that provides constructs for organising related Core language deenitions into self-contained modules with descriptive interfaces. While the Core is used to express details of algorithms and data structures , Modules is used to express the overall architecture of a software system. The Modules and Core languages are stratiied in the sense that modules may not be manipulated as ordinary values of the Core. This is a limitation, since it means that the architecture of a program cannot be reconngured according to run-time demands. We propose a novel extension of the language that allows modules to be manipulated as rst-class values of the Core language. The extension greatly extends the expressive power of the language, and has been shown to be compatible with both Core type inference and a separate extension to higher-order modules.
منابع مشابه
From Hindley-Milner Types to First-Class Structures
We describe extensions of the Hindley-Milner type system to support higher-order polymorphism and first-class structures with polymorphic components. The combination of these features results in a ‘core language’ that rivals the expressiveness of the Standard ML module system in some respects and exceeds it in others.
متن کاملAn Exploration of Modular Programs
Recently, Mark Jones introduced first class structures as a means to express modular structure. In this paper we elaborate on this idea by comparing the module systems of Standard ML and Haskell 1.3, two widely used functional languages, and a Haskell variant equipped with such first class structures. Moreover, we look at another obvious and well-known extension to Hindley-Milner type systems, ...
متن کاملEstimation of Fracture path in the Structures and the Influences of Non-singular term on crack propagation
In the present research, a fully Automatic crack propagation as one of the most complicated issues in fracture mechanics is studied whether there is an inclusion or no inclusion in the structures. In this study The Extended Finite Element Method (XFEM) is utilized because of several drawbacks in standard finite element method in crack propagation modeling. Estimated Crack paths are obtained by ...
متن کاملPrevalence of Class 1 Integrons and Extended Spectrum Beta Lactamases among Multi-Drug Resistant Escherichia coli Isolates from North of Iran
Background: Extended spectrum beta lactamases (ESBLs) are an important cause of transferable multidrug resistance (MDR) in gram-negative bacteria. The most described ESBL genes are generally found within integron-like structures as mobile genetic elements. The aim of this study was to identify the accompanying of class 1 integrons and ESBLs in the MDR E. coli isolates. Methods: Susceptibility t...
متن کاملFirst-Class Phantom Types
Classical phantom types are datatypes in which type constraints are expressed using type variables that do not appear in the datatype cases themselves. They can be used to embed typed languages into Haskell or ML. However, while such encodings guarantee that only wellformed data can be constructed, they do not permit type-safe deconstruction without additional tagging and run-time checks. We in...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999